﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace T.FAS.Runtime.Base.Entity
{
    /// <summary>
    /// 查询方案
    /// </summary>
    [Serializable]
    [DataContract]
    public class QueryPlan
    {
        /// <summary>
        /// 主键
        /// </summary>
        [DataMember]
        public string ID { get; set; }
        /// <summary>
        /// PageID
        /// </summary>
        [DataMember]
        public string PageID { get; set; }
        /// <summary>
        /// DQID
        /// </summary>
        [DataMember]
        public string DQID { get;set; }
        /// <summary>
        /// 预警ID
        /// </summary>
        [DataMember]
        public string WarningID { get; set; }
        /// <summary>
        /// 方案名称
        /// </summary>
        [DataMember]
        public string Name { get; set; }
        /// <summary>
        /// 方案范围
        /// </summary>
        [DataMember]
        public PlanRange PlanRange { get; set; }
        /// <summary>
        /// 系统默认
        /// </summary>
        [DataMember]
        public bool IsSystem { get; set; }
        /// <summary>
        /// 是否默认查询方案
        /// </summary>
        [DataMember]
        public bool IsDefault { get; set; }
        /// <summary>
        /// 是否有权限修改
        /// </summary>
        [DataMember]
        public bool IsAuth { get; set; }
        /// <summary>
        /// 方案所属人员
        /// </summary>
        [DataMember]
        public string UserID { get; set; }
        /// <summary>
        /// 方案所属人员
        /// </summary>
        [DataMember]
        public string UserName { get; set; }
        /// <summary>
        /// 分享人
        /// </summary>
        [DataMember]
        public string SharedBy { get; set; }
        /// <summary>
        /// 分享人员
        /// </summary>
        [DataMember]
        public List<QueryPlanUser> ShareUsers { get; set; }
        /// <summary>
        /// ContentID
        /// </summary>
        [DataMember]
        public string ContentID { get; set; }
        /// <summary>
        /// 业务标签
        /// </summary>
        [DataMember]
        public string BusinessTag { get; set; }
        /// <summary>
        /// 最后修改人
        /// </summary>
        public string LastModifier { get; set; }
        /// <summary>
        /// 最后修改时间
        /// </summary>
        public DateTime LastModifyTime { get; set; }
        /// <summary>
        /// 过滤条件内容
        /// </summary>
        [DataMember]
        public string FilterContent { get; set; }
        /// <summary>
        /// 过滤条件显示内容
        /// </summary>
        [DataMember]
        public string FilterShow { get; set; }
        /// <summary>
        /// 显示列内容
        /// </summary>
        [DataMember]
        public string ColumnContent { get; set; }
        /// <summary>
        /// 排序条件内容
        /// </summary>
        [DataMember]
        public string SortContent { get; set; }
        /// <summary>
        /// 交叉列信息
        /// </summary>
        [DataMember]
        public string CrossColumn { get; set; }
        /// <summary>
        /// 是否启用查询列
        /// </summary>
        [DataMember]
        public bool UseColumnContent { get; set; }
        /// <summary>
        /// 列表视图设置
        /// </summary>
        [DataMember]
        public string ListViewSet { get; set; }
        /// <summary>
        /// 图表视图设置
        /// </summary>
        [DataMember]
        public string ChartViewSet { get; set; }
        /// <summary>
        /// 交叉列信息
        /// </summary>
        [DataMember]
        public string PivotViewSet { get; set; }
        /// <summary>
        /// 树视图设置
        /// </summary>
        [DataMember]
        public string TreeViewSet { get; set; }
        /// <summary>
        /// 卡片视图设置
        /// </summary>
        [DataMember]
        public string CardViewSet { get; set; }
        /// <summary>
        /// 排序
        /// </summary>
        [DataMember]
        public int PlanOrder { get; set; }
        /// <summary>
        /// 置顶时间
        /// </summary>
        [DataMember]
        public DateTime TopTime { get; set; }
        /// <summary>
        /// 默认视图
        /// </summary>
        [DataMember]
        public ViewType DefaultView { get; set; }
        /// <summary>
        /// 图表信息
        /// </summary>
        [DataMember]
        public List<ChartInstanceApply> Charts { get; set; }
        /// <summary>
        /// 默认视图
        /// </summary>
        [DataMember]
        public PlanType PlanType { get; set; }
        /// <summary>
        /// 门户实例id
        /// </summary>
        [DataMember]
        public string PortalId { get; set; }
        /// <summary>
        /// 默认门户实例id
        /// </summary>
        [DataMember]
        public string DefaultPortalId { get; set; }
        /// <summary>
        /// 门户条件内容
        /// </summary>
        [DataMember]
        public string PortalFilterContent { get; set; }
    }
}
